package com.agileboot.attendance.domain.settlement.enums;

import com.agileboot.common.exception.error.ErrorCodeInterface;
import lombok.Getter;

/**
 * 结算单错误码
 */
@Getter
public enum SettlementErrorCode implements ErrorCodeInterface {

    SETTLEMENT_NOT_FOUND(3001, "结算单不存在", "settlement.not.found"),
    SETTLEMENT_STATUS_ERROR(3002, "结算单状态错误：{}", "settlement.status.error"),
    SETTLEMENT_DRAFT_ONLY(3003, "只有草稿状态的结算单才能{}", "settlement.draft.only"),
    APPROVE_TYPE_ERROR(3004, "无效的审核类型", "settlement.approve.type.error");

    private final int code;
    private final String message;
    private final String i18nKey;

    SettlementErrorCode(int code, String message, String i18nKey) {
        this.code = code;
        this.message = message;
        this.i18nKey = i18nKey;
    }

    @Override
    public int code() {
        return code;
    }

    @Override
    public String message() {
        return message;
    }

    @Override
    public String i18nKey() {
        return i18nKey;
    }
} 